.@{gx-prefix}-skeleton {
  display: table;
  width: 100%;

  &.@{gx-prefix}-skeleton-active {
    .@{gx-prefix}-skeleton-button {
      background: linear-gradient(
        90deg,
        rgba(190, 190, 190, 0.2) 25%,
        rgba(129, 129, 129, 0.24) 37%,
        rgba(190, 190, 190, 0.2) 63%
      );
      background-size: 400% 100%;
      -webkit-animation: wd-skeleton-loading 1.4s ease infinite;
      animation: wd-skeleton-loading 1.4s ease infinite;
    }

    .@{gx-prefix}-skeleton-avatar {
      background: linear-gradient(
        90deg,
        rgba(190, 190, 190, 0.2) 25%,
        rgba(129, 129, 129, 0.24) 37%,
        rgba(190, 190, 190, 0.2) 63%
      );
      background-size: 400% 100%;
      -webkit-animation: wd-skeleton-loading 1.4s ease infinite;
      animation: wd-skeleton-loading 1.4s ease infinite;
    }

    .@{gx-prefix}-skeleton-input {
      background: linear-gradient(
        90deg,
        rgba(190, 190, 190, 0.2) 25%,
        rgba(129, 129, 129, 0.24) 37%,
        rgba(190, 190, 190, 0.2) 63%
      );
      background-size: 400% 100%;
      -webkit-animation: wd-skeleton-loading 1.4s ease infinite;
      animation: wd-skeleton-loading 1.4s ease infinite;
    }

    .@{gx-prefix}-skeleton-title {
      background: linear-gradient(
        90deg,
        rgba(190, 190, 190, 0.2) 25%,
        rgba(129, 129, 129, 0.24) 37%,
        rgba(190, 190, 190, 0.2) 63%
      );
      background-size: 400% 100%;
      -webkit-animation: wd-skeleton-loading 1.4s ease infinite;
      animation: wd-skeleton-loading 1.4s ease infinite;
    }
  }
}

.@{gx-prefix}-skeleton-content {
  display: table-cell;
  width: 100%;
  vertical-align: top;

  .@{gx-prefix}-skeleton-title {
    width: 100%;
    height: 16px;
    margin-top: 16px;
    margin-bottom: 0.5em;
    background: hsla(0, 0%, 74.5%, 0.2);
    border-radius: 4px;
  }
}

.@{gx-prefix}-skeleton-element {
  display: inline-block;
  width: auto;

  .@{gx-prefix}-skeleton-button {
    display: inline-block;
    width: 64px;
    height: 32px;
    line-height: 32px;
    vertical-align: top;
    background: rgba(190, 190, 190, 0.2);
    border-radius: 2px;

    &.@{gx-prefix}-skeleton-button-round {
      border-radius: 32px;
    }

    &.@{gx-prefix}-skeleton-button-circle {
      width: 32px;
      border-radius: 50%;
    }
  }

  .@{gx-prefix}-skeleton-avatar {
    display: inline-block;
    width: 32px;
    height: 32px;
    line-height: 32px;
    vertical-align: top;
    background: rgba(190, 190, 190, 0.2);

    &.@{gx-prefix}-skeleton-avatar-circle {
      border-radius: 50%;
    }
  }

  .@{gx-prefix}-skeleton-input {
    display: inline-block;
    width: 100%;
    height: 32px;
    line-height: 32px;
    vertical-align: top;
    background: rgba(190, 190, 190, 0.2);
  }

  .@{gx-prefix}-skeleton-image {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    line-height: 96px;
    vertical-align: top;
    background: rgba(190, 190, 190, 0.2);
  }

  .@{gx-prefix}-skeleton-image-svg {
    width: 48px;
    max-width: 192px;
    height: 48px;
    max-height: 192px;
    line-height: 48px;
  }

  .@{gx-prefix}-skeleton-image-path {
    fill: #bfbfbf;
  }

  .@{gx-prefix}-skeleton-button-large {
    width: 80px;
    height: 40px;
    line-height: 40px;

    &.@{gx-prefix}-skeleton-button-round {
      border-radius: 40px;
    }

    &.@{gx-prefix}-skeleton-button-circle {
      width: 40px;
      border-radius: 50%;
    }
  }

  .@{gx-prefix}-skeleton-button-small {
    width: 48px;
    height: 24px;
    line-height: 24px;

    &.@{gx-prefix}-skeleton-button-round {
      border-radius: 24px;
    }

    &.@{gx-prefix}-skeleton-button-circle {
      width: 24px;
      border-radius: 50%;
    }
  }

  .@{gx-prefix}-skeleton-avatar-large {
    width: 40px;
    height: 40px;
    line-height: 40px;
  }

  .@{gx-prefix}-skeleton-avatar-small {
    width: 24px;
    height: 24px;
    line-height: 24px;
  }

  .@{gx-prefix}-skeleton-input-large {
    width: 100%;
    height: 40px;
    line-height: 40px;
  }

  .@{gx-prefix}-skeleton-input-small {
    width: 100%;
    height: 24px;
    line-height: 24px;
  }
}

@-webkit-keyframes wd-skeleton-loading {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}

@keyframes wd-skeleton-loading {
  0% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0 50%;
  }
}

@-webkit-keyframes wd-skeleton-loading-rtl {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}

@keyframes wd-skeleton-loading-rtl {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}
